/*
 * Copyright 2008-2023 dexian.vip. All rights reserved.
 * Support: http://www.dexian.vip
 * License: http://www.dexian.vip/license
 */

package vip.dexian.admin.freemarker;

import freemarker.core.Environment;
import freemarker.template.TemplateException;
import freemarker.template.TemplateExceptionHandler;

import java.io.Writer;

/**
 * freemarker 统一异常处理
 *
 * @author 挺好的 2023年05月30日 16:08
 */
public class FreeMarkerExceptionHandler implements TemplateExceptionHandler {

    /**
     * DEBUG_HANDLER，该HANDLER 会将错误信息（堆栈信息）写入到页面。
     */
    private static final TemplateExceptionHandler DEFAULT_TEMPLATE_EXCEPTION_HANDLER = TemplateExceptionHandler.DEBUG_HANDLER;


    @Override
    public void handleTemplateException (TemplateException te, Environment env, Writer out) throws TemplateException {
        FreeMarkerExceptionHandler.DEFAULT_TEMPLATE_EXCEPTION_HANDLER.handleTemplateException(te, env, out);
    }
}
